Computer systems typically comprise a combination of computer programs and hardware, such as semiconductors, transistors, chips, circuit boards, storage devices, and processors. The computer programs are stored in the storage devices and are executed by the processors. To ensure the accuracy and reliability of computer programs, they are often tested using an automatic process that executes testcases against the computer programs, sending commands or requests and data to the programs and comparing the received responses to expected responses.
Because of the size and complexity of the computer programs, they are often stored in version control systems and assigned unique version identifiers to unique states of the computer programs. Further, within a particular version, change flags, change codes, or tags are assigned to changes, fixes, updated functions, or new developments that are added to the version. The process of adding change flags to programs is sometimes called revision control, which provides control, documentation, and/or tracking of changes. The change flags are often implemented as comments or other non-executable symbols that identify a statement, instruction, function, or other group of code. The change flags may identify the person who made the change, the code that was changed, the date of the change, and the reason for making the change, such as fixing a specified error or adding a particular function. Change flags may provide a way to identify or remove changes to the programs if the need arises.